﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR52Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR52Response {
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR52Response.IIsikType> @__isik = new System.Collections.Generic.List<RR52Response.IIsikType>();
        
        private System.Collections.Generic.List<RR52Response.IDokType> @__dok = new System.Collections.Generic.List<RR52Response.IDokType>();
        
        private System.Collections.Generic.List<RR52Response.ISuheType> @__suhe = new System.Collections.Generic.List<RR52Response.ISuheType>();
        
        public RR52Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR52Response(decimal @veakood, string @veatekst, System.Collections.Generic.List<RR52Response.IIsikType> @isik, System.Collections.Generic.List<RR52Response.IDokType> @dok, System.Collections.Generic.List<RR52Response.ISuheType> @suhe) {
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__isik = @isik;
            this.@__dok = @dok;
            this.@__suhe = @suhe;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR52Response(IRR52Response @rR52Response) {
            this.@__veakood = @rR52Response.Veakood;
            this.@__veatekst = @rR52Response.Veatekst;
            this.@__isik = @rR52Response.Isik;
            this.@__dok = @rR52Response.Dok;
            this.@__suhe = @rR52Response.Suhe;
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR52Response.IIsikType> Isik {
            get {
                return this.@__isik;
            }
            set {
                this.@__isik = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR52Response.IDokType> Dok {
            get {
                return this.@__dok;
            }
            set {
                this.@__dok = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR52Response.ISuheType> Suhe {
            get {
                return this.@__suhe;
            }
            set {
                this.@__suhe = value;
            }
        }
        
        public partial class IsikType : IIsikType {
            
            private string @__isikPerenimi;
            
            private string @__isikEesnimi;
            
            private string @__isikSugu;
            
            private string @__isikSynniaeg;
            
            private string @__isikIsikukood;
            
            private string @__isikStaatus;
            
            private string @__isikEestiAadress;
            
            private string @__isikSynnikoht;
            
            private string @__isikKodakondsus;
            
            private string @__isikPerekonnaseis;
            
            private string @__isikTeovoime;
            
            public IsikType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikType(string @isikPerenimi, string @isikEesnimi, string @isikSugu, string @isikSynniaeg, string @isikIsikukood, string @isikStaatus, string @isikEestiAadress, string @isikSynnikoht, string @isikKodakondsus, string @isikPerekonnaseis, string @isikTeovoime) {
                this.@__isikPerenimi = @isikPerenimi;
                this.@__isikEesnimi = @isikEesnimi;
                this.@__isikSugu = @isikSugu;
                this.@__isikSynniaeg = @isikSynniaeg;
                this.@__isikIsikukood = @isikIsikukood;
                this.@__isikStaatus = @isikStaatus;
                this.@__isikEestiAadress = @isikEestiAadress;
                this.@__isikSynnikoht = @isikSynnikoht;
                this.@__isikKodakondsus = @isikKodakondsus;
                this.@__isikPerekonnaseis = @isikPerekonnaseis;
                this.@__isikTeovoime = @isikTeovoime;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikType(IIsikType @isikType) {
                this.@__isikPerenimi = @isikType.IsikPerenimi;
                this.@__isikEesnimi = @isikType.IsikEesnimi;
                this.@__isikSugu = @isikType.IsikSugu;
                this.@__isikSynniaeg = @isikType.IsikSynniaeg;
                this.@__isikIsikukood = @isikType.IsikIsikukood;
                this.@__isikStaatus = @isikType.IsikStaatus;
                this.@__isikEestiAadress = @isikType.IsikEestiAadress;
                this.@__isikSynnikoht = @isikType.IsikSynnikoht;
                this.@__isikKodakondsus = @isikType.IsikKodakondsus;
                this.@__isikPerekonnaseis = @isikType.IsikPerekonnaseis;
                this.@__isikTeovoime = @isikType.IsikTeovoime;
            }
            
            public virtual string IsikPerenimi {
                get {
                    return this.@__isikPerenimi;
                }
                set {
                    this.@__isikPerenimi = value;
                }
            }
            
            public virtual string IsikEesnimi {
                get {
                    return this.@__isikEesnimi;
                }
                set {
                    this.@__isikEesnimi = value;
                }
            }
            
            public virtual string IsikSugu {
                get {
                    return this.@__isikSugu;
                }
                set {
                    this.@__isikSugu = value;
                }
            }
            
            public virtual string IsikSynniaeg {
                get {
                    return this.@__isikSynniaeg;
                }
                set {
                    this.@__isikSynniaeg = value;
                }
            }
            
            public virtual string IsikIsikukood {
                get {
                    return this.@__isikIsikukood;
                }
                set {
                    this.@__isikIsikukood = value;
                }
            }
            
            public virtual string IsikStaatus {
                get {
                    return this.@__isikStaatus;
                }
                set {
                    this.@__isikStaatus = value;
                }
            }
            
            public virtual string IsikEestiAadress {
                get {
                    return this.@__isikEestiAadress;
                }
                set {
                    this.@__isikEestiAadress = value;
                }
            }
            
            public virtual string IsikSynnikoht {
                get {
                    return this.@__isikSynnikoht;
                }
                set {
                    this.@__isikSynnikoht = value;
                }
            }
            
            public virtual string IsikKodakondsus {
                get {
                    return this.@__isikKodakondsus;
                }
                set {
                    this.@__isikKodakondsus = value;
                }
            }
            
            public virtual string IsikPerekonnaseis {
                get {
                    return this.@__isikPerekonnaseis;
                }
                set {
                    this.@__isikPerekonnaseis = value;
                }
            }
            
            public virtual string IsikTeovoime {
                get {
                    return this.@__isikTeovoime;
                }
                set {
                    this.@__isikTeovoime = value;
                }
            }
        }
        
        public interface IIsikType {
            
            string IsikPerenimi {
                get;
                set;
            }
            
            string IsikEesnimi {
                get;
                set;
            }
            
            string IsikSugu {
                get;
                set;
            }
            
            string IsikSynniaeg {
                get;
                set;
            }
            
            string IsikIsikukood {
                get;
                set;
            }
            
            string IsikStaatus {
                get;
                set;
            }
            
            string IsikEestiAadress {
                get;
                set;
            }
            
            string IsikSynnikoht {
                get;
                set;
            }
            
            string IsikKodakondsus {
                get;
                set;
            }
            
            string IsikPerekonnaseis {
                get;
                set;
            }
            
            string IsikTeovoime {
                get;
                set;
            }
        }
        
        public partial class DokType : IDokType {
            
            private string @__dokDokTyyp;
            
            private string @__dokDokSeeria;
            
            private string @__dokDokNr;
            
            private string @__dokDokAsutusRiik;
            
            private string @__dokDokAsutus;
            
            private string @__dokDokValjastamisKuup;
            
            private string @__dokDokKehtAlgus;
            
            private string @__dokDokKehtLopp;
            
            private string @__dokDokStaatus;
            
            public DokType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public DokType(string @dokDokTyyp, string @dokDokSeeria, string @dokDokNr, string @dokDokAsutusRiik, string @dokDokAsutus, string @dokDokValjastamisKuup, string @dokDokKehtAlgus, string @dokDokKehtLopp, string @dokDokStaatus) {
                this.@__dokDokTyyp = @dokDokTyyp;
                this.@__dokDokSeeria = @dokDokSeeria;
                this.@__dokDokNr = @dokDokNr;
                this.@__dokDokAsutusRiik = @dokDokAsutusRiik;
                this.@__dokDokAsutus = @dokDokAsutus;
                this.@__dokDokValjastamisKuup = @dokDokValjastamisKuup;
                this.@__dokDokKehtAlgus = @dokDokKehtAlgus;
                this.@__dokDokKehtLopp = @dokDokKehtLopp;
                this.@__dokDokStaatus = @dokDokStaatus;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected DokType(IDokType @dokType) {
                this.@__dokDokTyyp = @dokType.DokDokTyyp;
                this.@__dokDokSeeria = @dokType.DokDokSeeria;
                this.@__dokDokNr = @dokType.DokDokNr;
                this.@__dokDokAsutusRiik = @dokType.DokDokAsutusRiik;
                this.@__dokDokAsutus = @dokType.DokDokAsutus;
                this.@__dokDokValjastamisKuup = @dokType.DokDokValjastamisKuup;
                this.@__dokDokKehtAlgus = @dokType.DokDokKehtAlgus;
                this.@__dokDokKehtLopp = @dokType.DokDokKehtLopp;
                this.@__dokDokStaatus = @dokType.DokDokStaatus;
            }
            
            public virtual string DokDokTyyp {
                get {
                    return this.@__dokDokTyyp;
                }
                set {
                    this.@__dokDokTyyp = value;
                }
            }
            
            public virtual string DokDokSeeria {
                get {
                    return this.@__dokDokSeeria;
                }
                set {
                    this.@__dokDokSeeria = value;
                }
            }
            
            public virtual string DokDokNr {
                get {
                    return this.@__dokDokNr;
                }
                set {
                    this.@__dokDokNr = value;
                }
            }
            
            public virtual string DokDokAsutusRiik {
                get {
                    return this.@__dokDokAsutusRiik;
                }
                set {
                    this.@__dokDokAsutusRiik = value;
                }
            }
            
            public virtual string DokDokAsutus {
                get {
                    return this.@__dokDokAsutus;
                }
                set {
                    this.@__dokDokAsutus = value;
                }
            }
            
            public virtual string DokDokValjastamisKuup {
                get {
                    return this.@__dokDokValjastamisKuup;
                }
                set {
                    this.@__dokDokValjastamisKuup = value;
                }
            }
            
            public virtual string DokDokKehtAlgus {
                get {
                    return this.@__dokDokKehtAlgus;
                }
                set {
                    this.@__dokDokKehtAlgus = value;
                }
            }
            
            public virtual string DokDokKehtLopp {
                get {
                    return this.@__dokDokKehtLopp;
                }
                set {
                    this.@__dokDokKehtLopp = value;
                }
            }
            
            public virtual string DokDokStaatus {
                get {
                    return this.@__dokDokStaatus;
                }
                set {
                    this.@__dokDokStaatus = value;
                }
            }
        }
        
        public interface IDokType {
            
            string DokDokTyyp {
                get;
                set;
            }
            
            string DokDokSeeria {
                get;
                set;
            }
            
            string DokDokNr {
                get;
                set;
            }
            
            string DokDokAsutusRiik {
                get;
                set;
            }
            
            string DokDokAsutus {
                get;
                set;
            }
            
            string DokDokValjastamisKuup {
                get;
                set;
            }
            
            string DokDokKehtAlgus {
                get;
                set;
            }
            
            string DokDokKehtLopp {
                get;
                set;
            }
            
            string DokDokStaatus {
                get;
                set;
            }
        }
        
        public partial class SuheType : ISuheType {
            
            private string @__suheSuhtetyyp;
            
            private string @__suheIsikukood;
            
            private string @__suhePerenimi;
            
            private string @__suheEesnimi;
            
            private string @__suheIsanimi;
            
            private string @__suheEestiAadress;
            
            private string @__suheSynnikoht;
            
            private string @__suheIsikuStaatus;
            
            private string @__suheStaatus;
            
            public SuheType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public SuheType(string @suheSuhtetyyp, string @suheIsikukood, string @suhePerenimi, string @suheEesnimi, string @suheIsanimi, string @suheEestiAadress, string @suheSynnikoht, string @suheIsikuStaatus, string @suheStaatus) {
                this.@__suheSuhtetyyp = @suheSuhtetyyp;
                this.@__suheIsikukood = @suheIsikukood;
                this.@__suhePerenimi = @suhePerenimi;
                this.@__suheEesnimi = @suheEesnimi;
                this.@__suheIsanimi = @suheIsanimi;
                this.@__suheEestiAadress = @suheEestiAadress;
                this.@__suheSynnikoht = @suheSynnikoht;
                this.@__suheIsikuStaatus = @suheIsikuStaatus;
                this.@__suheStaatus = @suheStaatus;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected SuheType(ISuheType @suheType) {
                this.@__suheSuhtetyyp = @suheType.SuheSuhtetyyp;
                this.@__suheIsikukood = @suheType.SuheIsikukood;
                this.@__suhePerenimi = @suheType.SuhePerenimi;
                this.@__suheEesnimi = @suheType.SuheEesnimi;
                this.@__suheIsanimi = @suheType.SuheIsanimi;
                this.@__suheEestiAadress = @suheType.SuheEestiAadress;
                this.@__suheSynnikoht = @suheType.SuheSynnikoht;
                this.@__suheIsikuStaatus = @suheType.SuheIsikuStaatus;
                this.@__suheStaatus = @suheType.SuheStaatus;
            }
            
            public virtual string SuheSuhtetyyp {
                get {
                    return this.@__suheSuhtetyyp;
                }
                set {
                    this.@__suheSuhtetyyp = value;
                }
            }
            
            public virtual string SuheIsikukood {
                get {
                    return this.@__suheIsikukood;
                }
                set {
                    this.@__suheIsikukood = value;
                }
            }
            
            public virtual string SuhePerenimi {
                get {
                    return this.@__suhePerenimi;
                }
                set {
                    this.@__suhePerenimi = value;
                }
            }
            
            public virtual string SuheEesnimi {
                get {
                    return this.@__suheEesnimi;
                }
                set {
                    this.@__suheEesnimi = value;
                }
            }
            
            public virtual string SuheIsanimi {
                get {
                    return this.@__suheIsanimi;
                }
                set {
                    this.@__suheIsanimi = value;
                }
            }
            
            public virtual string SuheEestiAadress {
                get {
                    return this.@__suheEestiAadress;
                }
                set {
                    this.@__suheEestiAadress = value;
                }
            }
            
            public virtual string SuheSynnikoht {
                get {
                    return this.@__suheSynnikoht;
                }
                set {
                    this.@__suheSynnikoht = value;
                }
            }
            
            public virtual string SuheIsikuStaatus {
                get {
                    return this.@__suheIsikuStaatus;
                }
                set {
                    this.@__suheIsikuStaatus = value;
                }
            }
            
            public virtual string SuheStaatus {
                get {
                    return this.@__suheStaatus;
                }
                set {
                    this.@__suheStaatus = value;
                }
            }
        }
        
        public interface ISuheType {
            
            string SuheSuhtetyyp {
                get;
                set;
            }
            
            string SuheIsikukood {
                get;
                set;
            }
            
            string SuhePerenimi {
                get;
                set;
            }
            
            string SuheEesnimi {
                get;
                set;
            }
            
            string SuheIsanimi {
                get;
                set;
            }
            
            string SuheEestiAadress {
                get;
                set;
            }
            
            string SuheSynnikoht {
                get;
                set;
            }
            
            string SuheIsikuStaatus {
                get;
                set;
            }
            
            string SuheStaatus {
                get;
                set;
            }
        }
    }
}
